import axios from 'axios'
import qs from 'qs'
import { Message } from "element-ui";
axios.defaults.timeout = 5000;
axios.defaults.baseURL ='';
const instance = axios.create({
    // baseURL:'http://127.0.0.1:8088/',
    // timeout: 10000,
    responseType:'json',
    withCredentials:'false',
    headers:{
         "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
    }
})

instance.interceptors.request.use(function(config){
    if(config.method === 'post'){
        config.data = qs.stringify(config.data)
    }
    // if(localStorage.token){ //此处从store中获取token，后续修改
    //   config.headers.common['tokne'] = "token"  
    // }else{
    //     throw error;
    // }
    return config;
    },function(error){
        Message({
            showClose: true,
            message: error,
            type:"eror.data.error.message"
        });
         return Promise.reject(error.data.error.message);
    });

instance.interceptors.response.use(function(response){
    let data = response.data;
    let status = response.status;
    if(status === 200){
        return data;
    }else{
        return Promise.reject(response);
    }
    }, function(error){
       //TODO     
    })

// let ajaxMethod = ['get','post','delete']
// let api = {}

// ajaxMethod.forEach((method) => {
//     api[method] = function(uri, data, config){
//         return new Promise(function(resolve,reject){
//             instance[method](uri,data,config).then((response) => {
//                 if(response.data.StatusCode){
//                     reject(response);    
//                 }else{
//                     resolve(response)
//                 }
//             })
//         })
//     }
// })

// // 对axios的实例重新封装成一个plugin ,方便 Vue.use(xxxx)
// export default instance;


export function fetch(url,params={}){
  return new Promise((resolve,reject) => {
    axios.get(url,{
      params:params
    })
    .then(response => {
      resolve(response.data);
    })
    .catch(err => {
      reject(err)
    })
  })
}
